﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JHECIS.PassOrder.BDET
{
    /// <summary>
    ///【新接口】 保定儿童处方审核入参模型
    /// </summary>
    public class AuditModel
    {
        #region 基本信息
        /// <summary>
        ///患者姓名
        /// </summary>
        public string PatientName { get; set; } = string.Empty;
        /// <summary>
        ///患者编号（非空）
        /// </summary>
        public string PatientId { get; set; } = string.Empty;
        /// <summary>
        ///患者医保编号
        /// </summary>
        public string PatientCode { get; set; } = string.Empty;
        /// <summary>
        ///患者证件号
        /// </summary>
        public string PatientNumber { get; set; } = string.Empty;
        /// <summary>
        ///患者手机
        /// </summary>
        public string PatientPhone { get; set; } = string.Empty;
        /// <summary>
        ///患者邮箱
        /// </summary>
        public string PatientMail { get; set; } = string.Empty;
        /// <summary>
        ///患者性别
        /// </summary>
        public string PatientSex { get; set; } = string.Empty;
        /// <summary>
        ///患者出生年月
        /// </summary>
        public string PatientBirthday { get; set; } = string.Empty;
        #endregion

        public List<FeeItem> FeeItems { get; set; }  
    }

    /// <summary>
    /// 项目详情
    /// </summary>
    public partial class FeeItem
    {
        /// <summary>
        ///处方唯一标识（非空）
        /// </summary>
        public string PrescriptionId { get; set; } = string.Empty;
        /// <summary>
        ///门急诊流水号
        /// </summary>
        public string PrescriptionSerialNo { get; set; } = string.Empty;
        /// <summary>
        ///开方科室Id
        /// </summary>
        public string DoctorDepartmentId { get; set; } = string.Empty;
        /// <summary>
        ///开方科室名称
        /// </summary>
        public string DoctorDepartmentName { get; set; } = string.Empty;
        /// <summary>
        ///开方医师级别
        /// </summary>
        public string DoctorLevel { get; set; } = string.Empty;
        /// <summary>
        ///开方医师编号
        /// </summary>
        public string DoctorId { get; set; } = string.Empty;
        /// <summary>
        ///开方医师姓名
        /// </summary>
        public string DoctorName { get; set; } = string.Empty;
        /// <summary>
        ///开方时间（格式）
        /// </summary>
        public string PrescriptionDate { get; set; } = string.Empty;
        /// <summary>
        ///患者所处特殊人群(如：妊娠期，哺乳期)
        /// </summary>
        public string SpecialCrowd { get; set; } = string.Empty;
        /// <summary>
        ///患者体重(KG)（如：75.5）
        /// </summary>
        public string Weight { get; set; } = string.Empty;
        /// <summary>
        ///身高(cm)（如：168.5）
        /// </summary>
        public string Height { get; set; } = string.Empty;
        /// <summary>
        ///患者体表面积(平方米)（如：1.57）
        /// </summary>
        public string BodyArea { get; set; } = string.Empty;
        /// <summary>
        ///处方类型（门诊、急诊)
        /// </summary>
        public string PrescriptionType { get; set; } = string.Empty;
        /// <summary>
        ///处方标记
        /// </summary>
        public string PrescriptionMark { get; set; } = string.Empty;
        /// <summary>
        ///是否为当前处方
        /// </summary>
        public string PrescriptionIsAudit { get; set; } = string.Empty;
        /// <summary>
        ///单张处方总价
        /// </summary>
        public string TotalPrice { get; set; } = string.Empty;
        /// <summary>
        ///发药科室Id
        /// </summary>
        public string DispenseDepartmentId { get; set; } = string.Empty;
        /// <summary>
        ///发药科室名称
        /// </summary>
        public string DispenseDepartmentName { get; set; } = string.Empty;
        /// <summary>
        ///发药药师Id
        /// </summary>
        public string DispenseDoctorId { get; set; } = string.Empty;
        /// <summary>
        ///发药药师名称
        /// </summary>
        public string DispenseDoctorName { get; set; } = string.Empty;
        /// <summary>
        ///发药日期(2013-03-29)（格式）
        /// </summary>
        public string DispenseDate { get; set; } = string.Empty;
        /// <summary>
        ///医保属性
        /// </summary>
        public string Insurance { get; set; } = string.Empty;
        /// <summary>
        ///处方备注
        /// </summary>
        public string Remark { get; set; } = string.Empty;
        /// <summary>
        ///描述性诊断
        /// </summary>
        public string DiagnosisDesc { get; set; } = string.Empty;

        public string ChildXml { get; set; } = string.Empty;
        public List<Drug> Drugs { get; set; }

        public List<Diagnosis> Diagnosises { get; set; }
    }

    /// <summary>
    /// 药品类
    /// </summary>
    public class Drug
    {

        /// <summary>
        ///项目HisId（非空）
        /// </summary>
        public string ItemId { get; set; } = string.Empty;
        /// <summary>
        ///项目类型（非空）
        /// </summary>
        public string ItemType { get; set; } = string.Empty;
        /// <summary>
        ///给药频率
        /// </summary>
        public string Frequency { get; set; } = string.Empty;
        /// <summary>
        ///服药条件
        /// </summary>
        public string Condition { get; set; } = string.Empty;
        /// <summary>
        ///给药途径
        /// </summary>
        public string Route { get; set; } = string.Empty;
        /// <summary>
        ///单次用药量
        /// </summary>
        public string SingleDose { get; set; } = string.Empty;
        /// <summary>
        ///单次用药量单位
        /// </summary>
        public string SingleDoseUnit { get; set; } = string.Empty;
        /// <summary>
        ///开药量
        /// </summary>
        public string Quantity { get; set; } = string.Empty;
        /// <summary>
        ///开药量单位
        /// </summary>
        public string QuantityUnit { get; set; } = string.Empty;
        /// <summary>
        ///服药天数
        /// </summary>
        public string Days { get; set; } = string.Empty;
        /// <summary>
        ///药品分组
        /// </summary>
        public string DrugGroup { get; set; } = string.Empty;
        /// <summary>
        ///是否皮试
        /// </summary>
        public string SkinTest { get; set; } = string.Empty;
        /// <summary>
        ///皮试结果
        /// </summary>
        public string SkinTestResult { get; set; } = string.Empty;
        /// <summary>
        ///开药顺序
        /// </summary>
        public string DrugOrder { get; set; } = string.Empty;
        /// <summary>
        ///药品备注
        /// </summary>
        public string DrugRemark { get; set; } = string.Empty;
        /// <summary>
        ///用药目的
        /// </summary>
        public string Destinations { get; set; } = string.Empty;
        /// <summary>
        ///通用名
        /// </summary>
        public string ItemComName { get; set; } = string.Empty;
        /// <summary>
        ///商品名
        /// </summary>
        public string ItemProName { get; set; } = string.Empty;
        /// <summary>
        ///剂型
        /// </summary>
        public string Formulation { get; set; } = string.Empty;
        /// <summary>
        ///厂家
        /// </summary>
        public string Manufacture { get; set; } = string.Empty;
        /// <summary>
        ///包装
        /// </summary>
        public string Packing { get; set; } = string.Empty;
        /// <summary>
        ///规格
        /// </summary>
        public string Specs { get; set; } = string.Empty;
        /// <summary>
        ///单价
        /// </summary>
        public string UnitPrice { get; set; } = string.Empty;
        /// <summary>
        ///总价
        /// </summary>
        public string TotalPrice { get; set; } = string.Empty;
        /// <summary>
        ///给药时间
        /// </summary>
        public string InstructDrugTime { get; set; } = string.Empty;
        /// <summary>
        ///给药起始时间
        /// </summary>
        public string InstructDrugLeftTime { get; set; } = string.Empty;
        /// <summary>
        ///给药结束时间
        /// </summary>
        public string InstructDrugRightTime { get; set; } = string.Empty;
        /// <summary>
        ///给药速度
        /// </summary>
        public string InstructDrugSpeed { get; set; } = string.Empty;
        /// <summary>
        ///给药速度单位
        /// </summary>
        public string InstructDrugSpeedUnit { get; set; } = string.Empty;


    }

    /// <summary>
    /// 诊断
    /// </summary>
    public class Diagnosis
    {
        public string Time { get; set; } = string.Empty;
        public string Name { get; set; } = string.Empty;
    }
}
